Promotional controller for financial transactions

ABSTRACT

A method and apparatus for a vending promotional printer for use within a vending machine are disclosed. A vending promotional printer includes a coupon database describing a stack of coupons that are specified using a template based couponing printer language. A coupon is selected for creation and issued to the customer based on a matrix of event-based triggers involving factors or parameters known to the vending promotional printer directly or supplied by master promotional controller. Triggers may include the time of day, the date or amount of a cash-out voucher to be issued to a customer, the duration of play on a vending machine, a customer classification, the amount of money or credits added to a game, or a random frequency of coupon issuance having satisfied any or all of the aforementioned factors. The vending promotional printer may further include the ability to store all of the coupons, trigger conditions, and related information resident in the vending promotional printer in a non-volatile fashion thus enabling a host system to download a promotional environment into the vending promotional printer which will run promotional campaigns on behalf of the hosting system.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of application Ser. No. 10/434,306,filed May 7, 2003, now U.S. Pat. No. 7,666,078, which claims thepriority of U.S. Provisional Patent Application No. 60/378,491, filedMay 7, 2002, the entire contents of each of which are herebyincorporated by reference herein.

BACKGROUND OF THE INVENTION

This invention relates generally to printers and connected hardware usedin vending machines and more specifically to promotional ticketprinting, promotional databases, and promotional ticket triggeringwithin a vending machine printing environment.

The vending machine manufacturing industry provides a variety of vendingmachines configured as self serve kiosks for dispensing various foods,drinks, and other material products. An exemplary vending machine is asoft drink vending machine. Vending machines are usually found inlocations where people would congregate or be passing through andrequire snacks, food, or other goods.

Vending machine manufacturers have more recently introduced intelligent,network connected vending machines to the market and these have begun tofind wide acceptance in that industry. These new vending machines areconsidered intelligent since they have capabilities of tracking theirproduct sales and inventory levels, and reporting these to a centrallocation via a hard wired land line or over a wireless communicationslink. This information may then be used to schedule route restockingschedules and for market analysis.

Initial testing of the network connected vending machines have beenpositive, and this initial success practically guarantees a wideinstalled base of networked vending machines with a customer audiencecaptive during the vend process. This installed base opens up tremendouselectronic promotional opportunities.

SUMMARY OF THE INVENTION

In one aspect of the invention, a method of printing a promotionalcoupon in a vending environment includes receiving coupon data by avending promotional printer in a cashless enabled game from apromotional controller via a communications network. The coupon dataincludes a coupon description written in a template definition language.The vending promotional printer then generates the coupon using variabledata and the coupon template in response to a trigger.

In another aspect of the invention, the variable data is received by thevending promotional printer from the promotional controller via thecommunications network. In this aspect, the promotional controllergenerates the trigger and transmits the trigger to the vendingpromotional printer via the communications network.

In another aspect of the invention, the coupon data includes triggercontrol parameters and the trigger is generated by the vendingpromotional printer using the trigger control parameters and triggerdata. The trigger data may include a date, a time of day, a frequency ofissuance of the coupon, or a time of play by a player of a vendingmachine.

In another aspect of the invention, the vending promotional printer isfurther coupled to a vending machine controller and the trigger data isreceived by the vending promotional printer from a vending machinecontroller. The trigger data may include a player identifier, an amountof money in play on a vending machine, a duration of a current sessionof play of a vending machine, a cash-in of a player or a cash-out of aplayer.

In another aspect of the invention, coupon issuance data is stored bythe vending promotional printer and the coupon issuance data istransmitted by the vending promotional printer to the promotionalcontroller via the communications network.

In another aspect of the invention, a promotional controller transmitscoupon data to a vending promotional printer via a communicationsnetwork with the coupon data including a coupon template. Thepromotional controller transmits variable data and trigger data to thevending promotional printer via the communications network. In responseto the transmission, the vending promotional printer generates a couponusing the coupon template and the variable data.

In another aspect of the invention, the vending promotional printerstores coupon issuance data and the promotional controller receives thecoupon issuance data by the promotional controller from the vendingpromotional printer via the communications network.

In another aspect of the invention, a vending promotional printercomprises a processor and a memory coupled to the processor. The memoryhas stored program instructions executable by the processor where theprogram instructions include receiving coupon data including a coupontemplate from a promotional controller via a communications network. Theprogram instructions for the vending promotional printer also includeinstructions for generating a coupon using variable data and the coupontemplate in response to a trigger.

In another aspect of the invention, a promotional controller includes aprocessor and a memory coupled to the processor. Program instructionsfor implementing the features of a promotional controller are stored inthe memory and are executable by the processor. The program instructionsinclude: transmitting coupon data to a vending promotional printer via acommunications network wherein the coupon data includes a coupontemplate; transmitting variable data to the vending promotional printervia the communications network; and transmitting trigger data to thevending promotional printer whereby the vending promotional printergenerates a coupon using the coupon template and the variable data inresponse to the trigger data.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentinvention will become better understood with regard to the followingdescription, appended claims, and accompanying drawings where:

FIG. 1 is block diagram illustrating a vending environment employingcoupon issuance in accordance with an exemplary embodiment of thepresent invention;

FIG. 2 is a deployment diagram of a coupon issuing system in accordancewith an exemplary embodiment of the present invention;

FIG. 3 is an illustration of a coupon including logical fields describedin a template based printer language in accordance with an exemplaryembodiment of the present invention;

FIG. 4 is a block diagram of coupon template field elements storedpartially resident in a vending promotional printer and partiallysupplied by a master promotional controller at the time of print andissue in accordance with an exemplary embodiment of the presentinvention;

FIG. 5 is a block diagram of an exemplary coupon “stack” and logicaltrigger matrix resident in a vending promotional printer in accordancewith an exemplary embodiment of the present invention;

FIG. 6 is a process flow diagram of a coupon generation process inaccordance with an exemplary embodiment of the present invention;

FIG. 7 is a sequence diagram of a coupon generating process inaccordance with an exemplary embodiment of the present invention;

FIG. 8 is an architecture diagram of an exemplary vending promotionalprinter in accordance with an exemplary embodiment of the presentinvention; and

FIG. 9 is an architecture diagram of an exemplary master promotionalcontroller in accordance with an exemplary embodiment of the presentinvention.

DETAILED DESCRIPTION

FIG. 1 is block diagram illustrating a vending environment employingcouponing in accordance with an exemplary embodiment of the presentinvention. A customer 100 uses a vending machine 102 to buy a snack,soft drink, or other item. When the customer buys the item, a masterpromotional controller 104 coupled to one or more vending machinesthrough a communications network 106 triggers the generation ofpromotional coupons 108 for use by the customer. The promotional couponsare generated by a vending promotional printer 109 included in a vendingmachine. The master promotional controller can either be a controllernetwork connected to one or more vending promotional printers, acontroller within a vending machine or vending promotional printer, oran intelligent routing and management device for one or more vendingpromotional printers. In one embodiment of a master promotionalcontroller, the master promotional controller directs the promotionalactivity of the vending promotional printers via direct promotionalcoupon requests. In another embodiment of a master promotionalcontroller, the master promotional controller uses a vending machine'svending promotional printer to store promotional coupon databases andtriggers.

Once a promotional coupon has been issued by a vending promotionalprinter, the promotional coupon may be redeemed with a human operator orcashier 110, or redeemed automatically through another redemptiondevice, such as a bill acceptor in another vending machine 112, orredeemed at a kiosk 114 which is not a vending machine but provides someother form of automatic interface for a promotional coupon holder.

In one embodiment of a master promotional controller, the masterpromotional controller is coupled to the redemption devices. In anotherembodiment of an master promotional controller, a non-vending kiosk orcashier personnel may or may not interface back to the masterpromotional controller when redeeming a promotional coupon. Informationrelative to couponing activity is exchanged with the master promotionalcontroller, the net result being the vending promotional printersfitting into the system as distributed intelligent sub-units,significantly off-loading the master promotional controller's real timeservicing requirements and avoiding network bandwidth issues associatedwith live streaming of promotional coupons during a relatively shortvend time window.

In one vending environment employing couponing in accordance with anexemplary embodiment of the present invention, each vending promotionalprinter in the vending environment has a unique address or identifier sothat a population of vending promotional printers on the network can beaddressed in whole or individually for promotional purposes.

FIG. 2 is a deployment diagram of a couponing system in accordance withan exemplary embodiment of the present invention. In a couponing system,a master promotional controller 104 is coupled to one or more vendingmachines, as illustrated by vending machine 102, through acommunications network 106 by coupling to a vending promotional printer109 included in the vending machine. The master promotional controlleris programmable and includes master promotional controller programminginstructions 201 controlling the master promotional controllersoperations including communications with the vending promotionalprinter.

In one vending promotional printer in accordance with an exemplaryembodiment of the present invention, a stand-alone vending promotionalprinter includes all of the necessary processing capabilities, memory,and vending promotional printer programming instructions 209 needed toperform promotional couponing operations for the vending machine. Inother embodiments of vending promotional printers, a vending promotionalprinter is created by coupling a promotional module 210 to aconventional vending printer, enabling the vending printer to functionas a vending promotional printer. A stand-alone vending promotionalprinter or a vending promotional printer created from a conventionalvending printer coupled to a promotional module are hereinafter termed a“vending promotional printer”.

The master promotional controller may be coupled to a vending machinecontroller 204 included in the vending machine. By coupling to a vendingmachine controller, the master promotional controller may receiveinformation from the vending machine controller about the vendingoperations of the vending machine separately from the vendingpromotional printer printing operations.

The vending machine may also include a bill acceptor 206 coupled to thevending machine controller. A vending machine uses a bill acceptor forredemption of promotional coupons and acceptance of vouchers or cash.

In operation, the master promotional controller transmits packets ofvariable data or coupon data describing a promotional database to thevending promotional printer. The contents of the promotional databaseinclude descriptions of a plurality of promotional coupons, cashvouchers, advertisements or other enticements which are hereinaftercollectively referred to as “coupons”. The vending promotional printerreceives the promotional database and stores the promotional database inthe vending promotional printer's local memory.

The vending promotional printer also stores specifications of how toprint the coupons in its local memory. The specifications of the couponsare stored as templates written in a template-based printer language.This allows the coupons to be pre-defined, formatted, and stored in thevending promotional printer completely or partially for later recall.

Upon reception of a trigger data signal from either the masterpromotional controller or the vending machine controller, the vendingpromotional printer references and parses the promotional database andcoupon templates to generate and issue promotional coupons or ticketsprinted on paper media. The paper media may be used specifically for thepurpose of generating promotional coupons, or the paper media may beused for the purpose of printing vouchers associated with vending.

FIG. 3 is an illustration of a coupon including logical fields describedin a template based printer language in accordance with an exemplaryembodiment of the present invention. In this example, a coupon may 300include four types of data fields: text fields, such as text field 302;barcode fields, such as barcode field 304; graphic fields, such asgraphic field 306; and line/box draw fields, such as line/box draw field308. The fields of a coupon are described using coupon description dataincluded in an electronic template that may be stored by a vendingpromotional printer. A template may include a plurality of fields incombination, resulting in a paste-up style printed coupon. A pluralityof templates describing different types of coupons may be stored in avending promotional printer supporting a rich couponing environment.

The actual value or data for each of the fields described in a coupontemplate may or may not be included in the template itself. For example,a template may include a barcode field for printing a barcode 310.However, the actual value of the barcode is transmitted to a vendingpromotional printer at the time a coupon is generated using the coupontemplate. In this way, a coupon may have fields that include staticdata, such as graphic 312 in a graphic field, or dynamic data, such asthe name of a particular patron 314 in a text field. In this way,customized coupons may be printed by a vending promotional printerwithout transferring large amounts of data through a communicationsnetwork coupling a vending promotional printer to a master promotionalcontroller.

In addition, data that is used to track usage of coupons may be includedin a coupon. For example, a barcode field or a text field may be used toprint a barcode value or text string uniquely identifying a coupon. Inthis way, a vending provisional printer creates an image of a barcode orbarcodes, characters or marks that may be read by a vending machine billacceptor on the same or another vending machine, allowing automaticacceptance of coupons into a vending system distributed across more thanone location.

A coupon template includes a plurality of command strings. Each commandstring conforms to the following syntax:

delimiter<cmd_Ltr>|<data_field1>| . . . |<data_fieldx>|delimeter;comment

where:

-   -   delimiter=a delimiter character    -   <cmd_ltr>=command identifier letter    -   <data fields1−x>=fields which include information relative to        the command    -   |=Pipe character. This serves as the delimiter between data        fields in a command.    -   ;=Semi-colon. This is a comment field designator.

A template defining a coupon adheres to following syntax:

delimiter<template_cmd_ltr>|<t_id>|<targ_mem>|<t_dim_da>|<t_dim_pa>|<pr#1>|<pr#2>|. . . |<pr#n>|delimiter

where:

-   -   <t_id>=Template I.D.    -   <targ_mem>=target memory storage.    -   <t_dim_da>=Template dimension on a dotline axis in dots.    -   <t_dim_pa>=Template dimension in dots in the paper axis.    -   <pr#1> . . . <pr#n>=list of coupon database resident print        regions ID's used in the format of this coupon. These fields are        the method by which print regions used on a coupon are linked        together and to the coupon template.

A print region is a print field used in a template to format print data.The print region command is used to define the basic types of printregions such as text, barcode, graphics, and a line/box draw.

A define print region command defines the particular font, barcode,graphic, or line style which is to be used, and provides specialformatting information on how it is to be used. Multiple print regionsmay be defined and memorized in a vending promotional printer's coupondatabase.

A define print region command adheres to the follow syntax:

delimiter<print_region_cmd_ltr>|<r_id>|<targ_mem>|<da_start>|<pa_start>|<da_len>|<pa_len>|<rot>|<just>|<obj_id>|<mul_(—)1>|<mul_(—)2>|<obj_att>|<pr_att>|<pr_data>|delimter

where:

-   -   <r_id>=print region identifier.    -   <targ_mem>=target memory storage.    -   <da_start>=dot axis start position in dots.    -   <pa_start>=paper axis start position in dots.    -   <da_len>=dot axis length of print region in dots.    -   <pa_len>=paper axis length of print region in dots.    -   <rot>=rotation of strings or data within print region.    -   <just>=justification of data within print region.    -   <obj_id>=print object identifier. Range 1 byte. This is the        print object (barcode, font, line/box or graphic) used to format        print the data from a print command.    -   <mul_(—)1>=Print object multiplier 1. For text, it is a font        width multiplier. For barcodes, it indicates narrow bar width or        modulo bar width. For a line, this represents thickness of the        line in dots.    -   <mul_(—)2>=Print object multiplier 2. For text, this represents        a font height multiplier. For a barcode, it indicates a wide bar        width.    -   <obj_att>=object printing attributes. This contains special        instructions on how to treat the print objects within a print        region    -   <pr_att>=print region attributes. This contains special        instructions on handling of the print region. A ‘0’ indicates        text will be sent in a print batch command. A ‘1’ indicates use        text which follows in pr_data field for a print region. A ‘2’        indicates a print region will auto increment with each coupon in        a batch. The base value is stored in a pr_data field. A ‘3’        indicates an auto-decrement print region which will        auto-decrement with each coupon in a batch. The base value is        stored in a pr_data field.    -   <pr_data>=permanently stored data which always appears in this        print region. This field contains stored text if requested by        entering a ‘2’ in <pr_att> field.

A library command is used to manage defined graphics. A library commandadheres to the following syntax:

delimiter<library_cmd_ltr>|<lib_funct>|<mem>|<obj_id>|<mem_req>|<ld_file_size>|obj_datadelimiter

where:

-   -   <lib_funct>=operation to perform: ‘A’—add object, enter download        mode, ‘D’—delete object.    -   <mem>=target memory in which to place the object being        downloaded.    -   <obj_id>=object identification. This is the object I.D. byte.    -   <mem_req>=memory usage specifier. For loading a graphic: size of        a graphic file. The library command header is terminated after        this field and obj_data is expected immediately following. For        deleting graphics: ‘G’ is used in this field.    -   <ld_file_size>=file size indicator.    -   obj_data=object data (font or graphic) in appropriate format if        <lib_funct>=‘A’. Format for graphics: PCX.

FIG. 4 is a block diagram of coupon template field element storedpartially resident in a vending promotional printer and partiallysupplied by a master promotional controller at the time of print andissue in accordance with an exemplary embodiment of the presentinvention. FIG. 4 illustrates how a master promotional controllerselects a type of coupon and transmits particulars, such as variabledata to be placed in fields in the coupon, for each print and issuanceevent. Values for the fields that make up a coupon 300 may be dividedinto two groups or sets. A resident variable data set 400 may be storedlocally in a vending promotional printer. The resident set of variabledata may include variable data such as: variable data for a text fieldcontaining an identifier of a vending location 402; variable data for abarcode field identifying a type of promotion 404; a templatedescription used to generate a graphic such as box variable data 406 orline variable data 408; or an identifier or actual variable data for agraphic 410. A dynamic variable data set include variable data forfields having variable data that are stored in the vending promotionalprinter and are saved in a template definition for a particular coupon.Examples of variable data in a dynamic variable data set include: textvariable data for a customer identifier or welcoming message 414; textvariable data describing a promotion item 416; and barcode variable data418 for quantifying a value of a promotion for printing on the coupon.

Both variable data sets may be transmitted from a master promotionalcontroller 104 to a vending promotional printer in the form ofcommunication packets. When a vending promotional printer receives avariable data set, the vending promotional printer stores the variabledata set for future use. A resident variable data set includes variabledata that may be reused for generating many coupons; therefore, aresident variable data set may be stored in he vending promotionalprinter for an extended period of time. In contrast, a dynamic variabledata set may be used for a short period of time, perhaps for even asingle generation of a single coupon. As such, the dynamic variable dataset and static variable data set associated in a coupon may betransmitted to a vending promotional printer at different times. Toretain association between the variable data sets, part of thecommunication packet issued by the master promotional controller mayinclude a reference 420 to a template definition so that the dynamicdata in the communication packet can be combined 422 with the staticfield data stored in a vending promotional printer to generate acomplete coupon 200.

Since it is possible to store all fields used in a coupon within thevending promotional printer's memory, a master promotional controllermay issue a complete coupon by simply sending a reference to a coupon sodefined to generate a coupon in its entirety. It is also possible for amaster promotional controller to offload the entire live communicationburden by sending a complete coupon database including triggers duringoff-peak times.

In one embodiment of a vending promotional printer, a vendingpromotional printer is triggered to print coupons from the vendingpromotional printer's internal database under direct control of a masterpromotional controller that triggers the issuance of a coupon andconveys any pertinent variable information associated with the couponsuch as promotion type, face value of the coupon, date of expiration andthe like.

FIG. 5 is a block diagram of an exemplary coupon stack and logicaltrigger matrix resident in a vending promotional printer in accordancewith an exemplary embodiment of the present invention. As previouslynoted, a vending promotional printer may print a coupon in response toeither internal or external event signals or trigger data. To respond toa trigger, a vending promotional printer includes a coupon selectorlogic module 500 that analyzes trigger data 502 as trigger data becomesavailable and determines which coupons should be printed in response tothe trigger data. Coupons, such as coupons 504, 506, and 508, are storedin a coupon database 510 as a stack. The stack of coupons are aplurality of predefined coupons that can generate a coupon 511 anytime aset of trigger conditions to which a coupon is associated is satisfied.These trigger conditions can operate independently or in logicalcombination.

Exemplary logical trigger data utilized in a vending promotional printerfor initiating generation of coupons includes: date 512, time of vend514, frequency of issuance of a particular coupon 516, and vendingmachine issued parameters 526 to the printer such as type of product,location within the vending machine (such as a row and column) or costof the product being vended and the like. By utilizing the illustratedtrigger matrix, it is possible for a vending promotional printer toissue coupons without any information provided by a master promotionalcontroller at the time of a cash-in, vend, or completion of a vendingsession.

In one vending promotional printer in accordance with an exemplaryembodiment of the invention, the vending promotional printer receivesfrom a master promotional controller a coupon trigger database therebyenabling the vending promotional printer to self-manage its couponingactivity. The coupon trigger database may include different types oftrigger control parameters including: anytime a product is issued by thevending machine to the customer; a sale for greater than, equal to, orless than a specified amount of money occurs in the vending machine; thequantity of product which the customer purchases; the time at which thevending transaction occurs; the date at which vending transactionoccurs; the physical row and column of the vending machine's storagematrix from which the product is issued (“vended”); a customeridentifier, and the type of product vended.

In another aspect of the invention, a component of the vendingpromotional printer's internal database includes a set of controlparameters that instruct the vending promotional printer to select thetype, quantity, and frequency of coupons to create and issue related toany of the triggers listed above. These control parameters may operateseparately or in combination with each coupon in the database.Parameters that may be used include: a total quantity of a coupon beingissued before the coupon is retired from the coupon database; afrequency 518 of issuance of a coupon based on the number of occurrencesof specified trigger events; a frequency of issuance of a coupon basedon random odds 520, such as one in one hundred trigger events; a backupcoupon or coupons should a particular coupon fail to print for lack ofsatisfying its specified set of qualifiers; whether or not the coupon isissued based on the time the trigger occurred; and whether the coupon isissued based on the date the trigger occurred.

In one embodiment of vending promotional printer, a real time clockelectronic device is included within the vending promotional printer forthe purposes of supporting time dependent promotional activity asdescribed above.

FIG. 6 is a process flow diagram of a trigger matrix process inaccordance with an exemplary embodiment of the present invention. Atrigger matrix process 622 is used by a vending promotional printer todetermine if a coupon should be generated and issued to a customer. Thetrigger matrix process receives (624) variable data from a masterpromotional controller. The trigger matrix process determines (628) ifthe variable data includes a coupon trigger instructing the vendingpromotional printer to issue a coupon. If so, the trigger matrix processselects (630) an appropriate coupon to issue from a coupon database 510.The trigger matrix process then generates (632) a coupon 511 using theselected coupon template. In addition, the trigger matrix process mayuse a portion of the variable data received from the master promotionalcontroller to customize the coupon when the coupon is generated. Thetrigger matrix process may then store (633) coupon issuance statisticaldata (634) for later retrieval by the master promotional controller.

A trigger matrix process may also initiate issuance of a coupon even ifthe master promotional controller does not transmit a trigger to thevending promotional printer. To do so, the matrix trigger process gets(635) trigger control parameters stored in the promotional coupondatabase 510 that correspond to stored coupon templates in thepromotional coupon database. The trigger matrix process then gets (638)vending machine and other internal data 636 and determines (640) if acoupon should be issued using the data and trigger control parameters.If the trigger matrix process determines (642) that a coupon should begenerated, the trigger matrix process issues a coupon as previouslydescribed, this time selecting a coupon template using the triggercontrol parameters.

The vending promotional printer is a real-time device meaning that itcontinuously processes incoming trigger data and triggers. As such, thetrigger matrix process may be configured as an endless loop as indicatedby the start loop 644 and stop loop 646 symbols.

FIG. 7 is a sequence diagram of a coupon generating process inaccordance with an exemplary embodiment of the present invention. Amaster promotional controller 104 transmits coupon or variable data 600to a vending promotional printer 109. The vending promotional printerstores (602) the coupon data for later use by the vending promotionalprinter in printing a coupon. As previously described, the coupon datamay include coupon templates, sets of dynamic and static variable data,trigger control parameters, and entire promotional coupon databases.

A vending promotional printer may receive various triggers that initiategeneration of a coupon for a customer 100. The master promotionalcontroller may transmit a promotional trigger (604) to the vendingpromotional printer. In response to the promotional trigger, the vendingpromotional printer generates a coupon 606 for use by the customer. Thevending promotional printer then stores (608) statistical data about thejust generated coupon. The vending promotional printer may also receivea vending machine trigger 610 from a vending machine controller 204 in avending machine. In response to the vending machine trigger, the vendingpromotional printer generates a coupon 610 for use by the customer. Thevending promotional printer then stores (612) statistical data about thejust generated coupon. The vending promotional printer may also generate(614) an internal trigger on its own such that the vending promotionalprinter generates a coupon 616 for use by the customer. The vendingpromotional printer then stores (618) statistical data about the justgenerated coupon.

Periodically, or at the request of the master promotional controller,the vending promotional printer may transmit the saved couponstatistical data to the master promotional controller for analysis andother types of processing. The coupon tracking or statistical data mayinclude details such as quantities of specific types of triggersreceived, quantities of each type of coupon issued, and the times anddates when triggers were received and coupons were issued.

In a vending promotional printer in accordance with an exemplaryembodiment of the present invention, the vending promotional printeraccepts promotional database loads and transfers statistical data withthe master promotional controller either through a main communicationport used for normally signaling pay out vouchers in the vendingmachine, or through an auxiliary port allowing the vending promotionalprinter's promotional activities to be conducted in series or inparallel with the vending promotional printer's voucher and couponprinting functions within the vending machine.

FIG. 8 is an architecture diagram of an exemplary vending promotionalprinter in accordance with an exemplary embodiment of the presentinvention. A vending promotional printer 109 includes a processor 701operatively coupled via a system bus 702 to a main memory 704. Theprocessor is also coupled to a storage device 708 via a storagecontroller 706 and the bus. The storage device includes stored programinstructions 724 and data 726 such as coupon variable data, coupontemplates, and coupon trigger control parameters. In operation, theprogram instructions implementing a vending promotional printer arestored on the storage device until the processor retrieves the programinstructions and stores them in the main memory. The processor thenexecutes the computer program instructions stored in the main memory andoperates on the data stored in the storage device to implement thefeatures of a vending promotional printer as described above.

The processor is further coupled to a printer mechanism 718 through aprinter controller 716 via the bus. In operation, the processor executesthe program instructions to generate printer mechanism control signalsand transmits these signals to the printer mechanism via the bus andprinter controller. In response to the printer mechanism controlsignals, the printer mechanism prints coupons for use by a customer.

The processor is further coupled to external input devices 722 by aninput device controller 720 via the bus. Example input devices includesensors that the vending promotional printer uses to detect properprinting of a coupon by the printer mechanism, coupon printer paperdetectors, and real time clocks. The processor receives input devicesignals from the input devices via the input device controller and thebus and uses the input device signals to detect the state of the vendingpromotional printer's environment.

The processor is further coupled to a network device 714 via a networkdevice controller 712 and the bus. The process uses the network deviceto communicate with other processing systems, such as a masterpromotional controller or a vending machine controller as previouslydescribed.

FIG. 9 is an architecture diagram of an exemplary promotional masterpromotional controller in accordance with an exemplary embodiment of thepresent invention. A master promotional controller includes a processor901 operatively coupled via a system bus 902 to a main memory 904. Theprocessor is also coupled to a storage device 908 via a storagecontroller 906 and the bus. In operation, program instructions 924implementing a master promotional controller are stored on the storagedevice until the processor retrieves the program instructions and storesthem in the main memory. The processor then executes the computerprogram instructions stored in the main memory to implement the featuresof a master promotional controller as described above.

The processor is further coupled to a network device 914 via a networkdevice controller 912 and the bus. The process uses the network deviceto communicate with other processing systems, such as a vendingpromotional printer or a vending machine controller as previouslydescribed.

Although this invention has been described in certain specificembodiments, many additional modifications and variations would beapparent to those skilled in the art. For example, while the forgoingdescription is for a vending environment, the illustrated processes maybe applied to any environment wherein promotional printing may bedesired, such as in a casino for gaming machines, point-of-sale orproduct display coupon printing, and the like. It is therefore to beunderstood that this invention may be practiced otherwise than asspecifically described. Thus, the present embodiments of the inventionshould be considered in all respects as illustrative and notrestrictive, the scope of the invention to be determined by any claimssupported by this application and the claims' equivalents rather thanthe foregoing description.

1. A method of printing a promotional coupon by a system including apromotional controller coupled to a financial transaction promotionalprinter of a financial transaction machine that is a vending machine,the method comprising: transmitting, by the promotional controller,coupon data to the financial transaction promotional printer; receiving,by the financial transaction promotional printer, the coupon data fromthe promotional controller via an auxiliary communication port couplingthe financial transaction promotional printer to the promotionalcontroller separately from a financial transaction machine controller,the auxiliary communication port constructed to receive the coupon dataseparately from a main communication port, the main communication portcoupling the financial transaction promotional printer to the financialtransaction machine controller for receiving financial transaction data;receiving, by the financial transaction promotional printer, thefinancial transaction data from the financial transaction machinecontroller via the main communication port; generating, by the financialtransaction promotional printer, a receipt using the financialtransaction data; generating, by the promotional controller, a triggerusing trigger data, the trigger data including a location row andlocation column within the vending machine of a vended product;transmitting, by the promotional controller to the financial transactionpromotional printer via the auxiliary communication port, the trigger;and generating, by the financial transaction promotional printer, inresponse to the trigger, the coupon using the coupon data.
 2. The methodof claim 1, wherein the trigger data includes a date.
 3. The method ofclaim 1, wherein the trigger data includes a time of day.
 4. The methodof claim 1, wherein the trigger data includes a frequency of issuance ofthe coupon.
 5. The method of claim 1, wherein the trigger data includesa frequency of issuance of the coupon.
 6. The method of claim 1, whereinthe trigger data includes an amount of money deposited in the vendingmachine.
 7. The method of claim 1, wherein the trigger data includes acost of the vended product.
 8. The method of claim 1, wherein thetrigger data includes a type of the vended product.
 9. The method ofclaim 1, further comprising: storing of coupon issuance data by thefinancial transaction promotional printer; and transmitting the couponissuance data by the financial transaction promotional printer to thepromotional controller via the auxiliary communication port.
 10. Asystem, comprising: a promotional controller and a financial transactionpromotional printer of a financial transaction machine that is a vendingmachine, wherein the promotional controller comprises: a processorconstructed to: transmit coupon data to the financial transactionpromotional printer; generate a trigger using trigger data, the triggerdata including a location row and location column within the vendingmachine of a vended product; and transmit to the financial transactionpromotional printer the trigger, and wherein the financial transactionpromotional printer comprises: a main communication port coupling thefinancial transaction promotional printer to a financial transactionmachine controller, the main communication port constructed to receivefinancial transaction data from the financial transaction machinecontroller; an auxiliary communication port, separate from the maincommunication port, coupling the financial transaction promotionalprinter to the promotional controller, the auxiliary communication portconstructed to receive the coupon data from the promotional controllerseparately of the financial transaction machine controller; and aprinter processor constructed to: receive the financial transaction datafrom the financial transaction machine controller via the maincommunication port; generate a receipt using the financial transactiondata; receive the coupon data from the promotional controller via theauxiliary communication port; and receive the trigger from thepromotional controller via the auxiliary communication port; andgenerate, in response to the trigger, the coupon using the coupon data.11. The system of claim 10, wherein the financial transactionpromotional printer stores coupon issuance data, the processor of thepromotional controller further constructed to receive the couponissuance data from the financial transaction promotional printer via theauxiliary communication port.
 12. The system of claim 10, wherein theprocessor of the promotional controller is further constructed totransmit variable data to the financial transaction promotional printervia the auxiliary communication port, the variable data for use by thefinancial transaction promotional printer when generating the coupon.13. The system of claim 10, wherein the trigger data includes a date.14. The system of claim 10, wherein the trigger data includes a time ofday.
 15. The system of claim 10, wherein the trigger data includes afrequency of issuance of the coupon.
 16. The system of claim 10, whereinthe trigger data includes a time of vending.
 17. The system of claim 10,wherein the coupon data includes a template used to generate the coupon.18. The system of claim 10, wherein the promotional controller isconnected directly to the financial transaction promotional printer viathe auxiliary communication port.
 19. The system of claim 10, whereinthe promotional controller is connected by a communications network tothe financial transaction promotional printer via the auxiliarycommunication port.
 20. The method of printing a promotional coupon ofclaim 1, further comprising transmitting, by the promotional controllerto the financial transaction promotional printer via the auxiliarycommunication port, variable data, the variable data for use by thefinancial transaction promotional printer when generating the coupon.21. The method of printing a promotional coupon of claim 1, wherein thecoupon data includes a template used to generate the coupon.
 22. Themethod of printing a promotional coupon of claim 1, wherein thepromotional controller is connected directly to the financialtransaction promotional printer via the auxiliary communication port.23. The method of printing a promotional coupon of claim 1, wherein thepromotional controller is connected by a communications network to thefinancial transaction promotional printer via the auxiliarycommunication port.